{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%reload_ext autoreload\n",
    "%autoreload 2\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from fastai.text import *"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## train Hebrew Language Model on Wiki"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "in this notebook i will train a model in the hebrew language, using fast.ai library. <br>\n",
    "the wiki data come from prof Yoav Goldberg web: http://u.cs.biu.ac.il/~yogo/hebwiki/ - dowload Raw Sentences. <br>\n",
    "after downloading: <br>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# !curl -0 http://u.cs.biu.ac.il/~yogo/hebwiki/wikipedia.raw.gz --output ./data/wikipedia.raw.gz\n",
    "# ! zcat data/wikipedia.raw.gz >> data/wikipedia.txt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "after that, the TextList load all the text file from givven directory (so put attention to delete any unwanted text file inside this folder)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "path = \"data/wiki\"\n",
    "# src = TextList.from_folder(path).random_split_by_pct(0.2).label_for_lm(ignore_empty=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# wiki_data = src.databunch(bs=64)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# save the model and the data\n",
    "# wiki_data.save('wiki_data_old.pkl')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "wiki_data = load_data(path, 'wiki_data_old.pkl')\n",
    "# create the model from the data\n",
    "learn = language_model_learner(wiki_data, AWD_LSTM)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## train the model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: left;\">\n",
       "      <th>epoch</th>\n",
       "      <th>train_loss</th>\n",
       "      <th>valid_loss</th>\n",
       "      <th>accuracy</th>\n",
       "      <th>time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>4.889631</td>\n",
       "      <td>#na#</td>\n",
       "      <td>44:01</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# we unfreeze all the model, beacuse he have totally random weight.\n",
    "learn.unfreeze()\n",
    "learn.fit_one_cycle(1, 1e-2, moms=(0.8,0.7))\n",
    "learn.save('heb_model_save_1')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEGCAYAAABvtY4XAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3dd3xW9fn/8deVzQgrgDKEAA42IUSQigylKFgXUoVqXbW02tZaqy2OuqoWq6Wo7Vd/VsXaWty4RRwgTqaAyB4B2QHZIWR9fn/cJzd3dgj3nTs5eT8fj/uRc5/7jOucwJXP/TnnXB9zziEiIv4TE+0AREQkMpTgRUR8SgleRMSnlOBFRHxKCV5ExKfioh1AqJYtW7rU1NRohyEiUmcsWLBgp3OuVVmf1aoEn5qayvz586MdhohInWFmG8r7TF00IiI+pQQvIuJTSvAiIj5Vq/rgRcQf8vLy2LRpEzk5OdEOxTeSkpJo37498fHxVV5HCV5Ewm7Tpk0kJyeTmpqKmUU7nDrPOceuXbvYtGkTnTp1qvJ66qIRkbDLyckhJSVFyT1MzIyUlJSj/kakBC8iEaHkHl7VOZ++SPCPfrSaT1ZlRTsMEZFaxRcJ/v9mreHzNTujHYaI1BK7du0iLS2NtLQ0jj/+eNq1axd8n5ubW6VtXH311axcuTLCkUaWLy6yGoYGLhGRIikpKSxatAiAu+++m8aNG3PzzTcXW8Y5h3OOmJiy27lTpkyJeJyR5osWvBkov4tIZdasWUPPnj355S9/SXp6Olu3bmX8+PFkZGTQo0cP7r333uCygwYNYtGiReTn59OsWTMmTJhAnz59GDhwIDt27IjiUVSdT1rwoPwuUjvd89a3LNuyL6zb7N62CXed16Na6y5btowpU6bwxBNPADBx4kRatGhBfn4+w4YNY8yYMXTv3r3YOnv37mXIkCFMnDiRm266iWeeeYYJEyYc83FEmk9a8KYWvIhUSZcuXTj11FOD76dOnUp6ejrp6eksX76cZcuWlVqnQYMGjBw5EoB+/fqRmZlZU+EeE3+04A2c2vAitVJ1W9qR0qhRo+D06tWreeSRR5g7dy7NmjXj8ssvL/Ne84SEhOB0bGws+fn5NRLrsfJHCx71wYvI0du3bx/Jyck0adKErVu38v7770c7pLDySQted9GIyNFLT0+ne/fu9OzZk86dO3P66adHO6SwstqUGDMyMlx1BvxIu3cG5/dpy70X9IxAVCJytJYvX063bt2iHYbvlHVezWyBcy6jrOXVRSMi4lP+SPBmusgqIlKCPxI8asGLiJTkjwRvetBJRKQkXyR40INOIiIl+SLBB8okK8OLiITyR4JHffAicsTQoUNLPbQ0efJkrr/++nLXady4MQBbtmxhzJgx5W63slu5J0+eTHZ2dvD9qFGj2LNnT1VDDyt/JHhVkxSREOPGjeOFF14oNu+FF15g3Lhxla7btm1bXnnllWrvu2SCf/fdd2nWrFm1t3csfJHgY3SbpIiEGDNmDG+//TaHDx8GIDMzky1btpCWlsZZZ51Feno6vXr14o033ii1bmZmJj17Bh6aPHToEGPHjqV3795ceumlHDp0KLjcddddFywzfNdddwHw6KOPsmXLFoYNG8awYcMASE1NZefOwIBEkyZNomfPnvTs2ZPJkycH99etWzd+/vOf06NHD0aMGFFsP8fCH6UKgELld5Ha6b0JsO2b8G7z+F4wcmK5H6ekpNC/f3+mT5/OBRdcwAsvvMCll15KgwYNmDZtGk2aNGHnzp2cdtppnH/++eWOd/r444/TsGFDlixZwpIlS0hPTw9+dv/999OiRQsKCgo466yzWLJkCTfccAOTJk1i5syZtGzZsti2FixYwJQpU5gzZw7OOQYMGMCQIUNo3rw5q1evZurUqfzrX//ikksu4dVXX+Xyyy8/5tPkixa8ygWLSEmh3TRF3TPOOW677TZ69+7N8OHD2bx5M9u3by93G7Nnzw4m2t69e9O7d+/gZy+99BLp6en07duXb7/9tswyw6E+++wzLrroIho1akTjxo0ZPXo0n376KQCdOnUiLS0NCG85Yl+04EHlgkVqrQpa2pF04YUXctNNN7Fw4UIOHTpEeno6zz77LFlZWSxYsID4+HhSU1PLLA8cqqzW/fr163n44YeZN28ezZs356qrrqp0OxXV/UpMTAxOx8bGhq2LxicteHSXpIgU07hxY4YOHco111wTvLi6d+9eWrduTXx8PDNnzmTDhg0VbmPw4ME8//zzACxdupQlS5YAgTLDjRo1omnTpmzfvp333nsvuE5ycjL79+8vc1uvv/462dnZHDx4kGnTpnHGGWeE63DL5IsWvJ5kFZGyjBs3jtGjRwe7ai67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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "learn.recorder.plot_losses()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: left;\">\n",
       "      <th>epoch</th>\n",
       "      <th>train_loss</th>\n",
       "      <th>valid_loss</th>\n",
       "      <th>accuracy</th>\n",
       "      <th>time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>4.800457</td>\n",
       "      <td>#na#</td>\n",
       "      <td>44:05</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "learn.fit_one_cycle(1, 1e-2, moms=(0.8,0.7))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "learn.save('heb_model_save_2')\n",
    "learn.recorder.plot_losses()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  results"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "the result seem very promising! <br>\n",
    "whithout touch the data at all, and with 3 epoch, we achive very Reasonable results."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "במהלך השנה 1948 קמה מדינת ישראל על בסיס ב-1941 , ונמשכה עד 1939 . \n",
      "  בשנת 1996 , לאחר פירוק הציונות הדתית , הוקם לייצוא מנגנון צמצום כללי של עליית הנוער . \n",
      "  מחברת למלאכה לייצר רק צלילים של שאלה , וגייס ענייני אידאולוגיות לכולם .\n"
     ]
    }
   ],
   "source": [
    "TEXT = \"במהלך השנה 1948 קמה מדינת ישראל\"\n",
    "N_WORDS = 40\n",
    "N_SENTENCES = 1\n",
    "print(\"\\n\".join(learn.predict(TEXT, N_WORDS, temperature=0.9) for _ in range(N_SENTENCES)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## export model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# wiki_data = load_data(path, 'wiki_data.pkl')\n",
    "# learn = language_model_learner(wiki_data, AWD_LSTM)\n",
    "# learn.load(\"heb_model_save_4\")\n",
    "learn.export(\"wiki-heb.pkl\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
